<?php
/**
 * Intreface DAO
 *
 * @author: Dragan Milchevski
 * @date: 2012-06-23 13:23
 */
interface CategoriesDAO{

	/**
	 * Get Domain object by primry key
	 *
	 * @param String $id primary key
	 * @Return Categories 
	 */
	public function load($id);

	/**
	 * Get all records from table
	 */
	public function queryAll();
	
	
	/**
	 * @ Monica
	 * Get all records from table and return a specific column from the table
	 */
	public function queryAllByColumn($columnName);
	
	/**
	 * Get all records from table ordered by field
	 * @Param $orderColumn column name
	 */
	public function queryAllOrderBy($orderColumn);
	
	/**
 	 * Delete record from table
 	 * @param categorie primary key
 	 */
	public function delete($categoryID);
	
	/**
 	 * Insert record to table
 	 *
 	 * @param Categories categorie
 	 */
	public function insert($categorie);
	
	/**
 	 * Update record in table
 	 *
 	 * @param Categories categorie
 	 */
	public function update($categorie);	

	/**
	 * Delete all rows
	 */
	public function clean();

	public function queryByCategory($value);
	
	public function queryByDocument($value);


	public function deleteByCategory($value);
	
	public function queryAllColateNocase();
	
	public function queryNumberOfChategories();

	public function insertFilesCategories($file_id,$category_id);
	
}
?>